package com.xigua.字符串;

/**
 * @author LiRongHua
 * @Title: ${file_name}
 * @Package ${package_name}
 * @Description: 给你一个字符串 s ，根据下述规则反转字符串：
 *所有非英文字母保留在原有位置。
 *所有英文字母（小写或大写）位置反转。
 *返回反转后的 s 。
 * @date 2022/2/2317:59
 */
public class _917_仅仅反转字母 {

    public static void main(String[] args) {
        System.out.println(reverseOnlyLetters("a-bC-dEf-ghIj"));
    }


    public static String reverseOnlyLetters(String s) {
        int start = 0,end = s.length()-1;
        StringBuilder str = new StringBuilder(s);
        while (start < end ){
            char startC = s.charAt(start);
            char endC = s.charAt(end);
            if(Character.isLetter(startC) && Character.isLetter(endC)){
                str.replace(start,start+1,Character.toString(endC));
                str.replace(end,end+1,Character.toString(startC));
                start++;
                end--;
            }else if (Character.isLetter(startC)){
                end--;
            }else if (Character.isLetter(endC)){
                start++;
            }else {
                start++;
                end--;
            }
        }
        return str.toString();
    }



}
